package net.tarine.gastronomi.client.services;

import java.util.List;

import net.tarine.gastronomi.shared.to.GasTo;
import net.tarine.gastronomi.shared.to.GasUserTo;

import com.google.gwt.user.client.rpc.AsyncCallback;

public interface GasServiceAsync {
	//GasUserTo
	void findGasUsers(Integer offset, Integer pageSize, AsyncCallback<List<GasUserTo>> callback);
	void findGasUserById(String id, AsyncCallback<GasUserTo> callback);
	void findGasUserFromSession(AsyncCallback<GasUserTo> callback);
	void persistGasUser(GasUserTo to, AsyncCallback<GasUserTo> callback);
	void deleteGasUser(String id, AsyncCallback<List<GasUserTo>> callback);
	
	//GasTo
	void findGas(AsyncCallback<GasTo> callback);
	void persistGas(GasTo to, AsyncCallback<GasTo> callback);
	
	//login-logout URLs
	void createLoginUrl(String destinationUrl, AsyncCallback<String> callback);
	void createLogoutUrl(String destinationUrl, AsyncCallback<String> callback);
}
